package org.edu.modules.jxzy.entity;

import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.util.Date;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.edu.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * @Description: 教务课程信息
 * @Author: jeecg-boot
 * @Date:   2021-04-15
 * @Version: V1.0
 */
@Data
@TableName("ve_jw_kecheng")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="ve_jw_kecheng对象", description="教务课程信息")
public class JwKecheng implements Serializable {
    private static final long serialVersionUID = 1L;

	/**自增长主键ID*/
	@TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "自增长主键ID")
    private Integer id;
	/**课程号（代码）*/
	@Excel(name = "课程号（代码）", width = 15)
    @ApiModelProperty(value = "课程号（代码）")
    private String kch;
	/**课程名称*/
	@Excel(name = "课程名称", width = 15)
    @ApiModelProperty(value = "课程名称")
    private String kcmc;
	/**课程英文名*/
	@Excel(name = "课程英文名", width = 15)
    @ApiModelProperty(value = "课程英文名")
    private String kcywm;
	/**课程别名*/
	@Excel(name = "课程别名", width = 15)
    @ApiModelProperty(value = "课程别名")
    private String kcbm;
	/**课程介绍（大文本字段ID）*/
	@Excel(name = "课程介绍", width = 15)
    @ApiModelProperty(value = "课程介绍（大文本字段ID）")
    private Integer kcjstid;

    @TableField(exist = false)
    private String kcjstidText;
	/**开课院系ID*/
	@Excel(name = "开课院系", width = 15)
    @ApiModelProperty(value = "开课院系ID")
    private Integer falid;
	/**开课专业ID*/
	@Excel(name = "开课专业", width = 15)
    @ApiModelProperty(value = "开课专业ID")
    private Integer specid;
	/**开课单位*/
	@Excel(name = "开课单位", width = 15)
    @ApiModelProperty(value = "开课单位")
    private String kkdw;
	/**所属教研组ID*/
	@Excel(name = "所属教研组", width = 15)
    @ApiModelProperty(value = "所属教研组ID")
    private Integer jyzid;
    @TableField(exist = false)
    private String jyzidName;
	/**学分*/
	@Excel(name = "学分", width = 15)
    @ApiModelProperty(value = "学分")
    private BigDecimal xf;
	/**总学时*/
	@Excel(name = "总学时", width = 15)
    @ApiModelProperty(value = "总学时")
    private Integer zxs;
	/**理论学时*/
	@Excel(name = "理论学时", width = 15)
    @ApiModelProperty(value = "理论学时")
    private Integer llxs;
	/**实践学时*/
	@Excel(name = "实践学时", width = 15)
    @ApiModelProperty(value = "实践学时")
    private Integer sjxs;
	/**其它学时*/
	@Excel(name = "其它学时", width = 15)
    @ApiModelProperty(value = "其它学时")
    private Integer qtxs;
	/**考试分数（该课程的考试总分，即成绩录入时的最高分）*/
	@Excel(name = "考试分数", width = 15)
    @ApiModelProperty(value = "考试分数（该课程的考试总分，即成绩录入时的最高分）")
    private Integer ksfs;
	/**参考书目（大文本ID）*/
	@Excel(name = "参考书目（大文本ID）", width = 15)
    @ApiModelProperty(value = "参考书目（大文本ID）")
    private Integer cksmtid;
	/**考试形式：字典值ID*/
	@Excel(name = "考试形式：字典值ID", width = 15)
    @ApiModelProperty(value = "考试形式：字典值ID")
    private Integer ksxs;
	/**授课形式：字典值ID*/
	@Excel(name = "授课形式：字典值ID", width = 15)
    @ApiModelProperty(value = "授课形式：字典值ID")
    private Integer skfsm;
	/**课程性质：字典值ID*/
	@Excel(name = "课程性质：字典值ID", width = 15)
    @ApiModelProperty(value = "课程性质：字典值ID")
//    @Dict(dicCode = "course_type")
    private Integer kcxz;
    @TableField(exist = false)
    private String kcxzDictText;
	/**课程费用*/
	@Excel(name = "课程费用", width = 15)
    @ApiModelProperty(value = "课程费用")
    private BigDecimal kcfy;
	/**状态（0=禁用，1=启用）*/
	@Excel(name = "状态（0=禁用，1=启用）", width = 15)
    @ApiModelProperty(value = "状态（0=禁用，1=启用）")
//    @Dict(dicCode = "enable_state")
    private Integer status;
    @TableField(exist = false)
    private String statusDictText;
	/**是否删除（1=已删除，0=未删除）*/
	@Excel(name = "是否删除（1=已删除，0=未删除）", width = 15)
    @ApiModelProperty(value = "是否删除（1=已删除，0=未删除）")
    private Integer isdelete;
	/**创建人ID*/
	@Excel(name = "创建人ID", width = 15)
    @ApiModelProperty(value = "创建人ID")
    private Integer createuserid;
	/**创建时间*/
	@Excel(name = "创建时间", width = 15)
    @ApiModelProperty(value = "创建时间")
    private Integer createtime;
	/**审核状态（0=待审核，1=通过，2=不通过）*/
	@Excel(name = "审核状态（0=待审核，1=通过，2=不通过）", width = 15)
    @ApiModelProperty(value = "审核状态（0=待审核，1=通过，2=不通过）")
    private Integer auditstatus;
	/**审核人ID*/
	@Excel(name = "审核人ID", width = 15)
    @ApiModelProperty(value = "审核人ID")
    private Integer audituserid;
	/**审核时间*/
	@Excel(name = "审核时间", width = 15, format = "yyyy-MM-dd")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern="yyyy-MM-dd")
    @ApiModelProperty(value = "审核时间")
    private Date audittime;
	/**审核备注*/
	@Excel(name = "审核备注", width = 15)
    @ApiModelProperty(value = "审核备注")
    private Integer audittid;

    @TableField(exist = false)
    private String audittidText;
	/**终端ID*/
	@Excel(name = "终端ID", width = 15)
    @ApiModelProperty(value = "终端ID")
    private Integer terminalid;
}
